import { DELETE, GET, POST, PUT } from '@/utils/request'

/**
 * 创建学长学姐信息
 * @param {Number} siUId 在小程序userId
 * @param {String} siNickName 昵称
 * @param {String} siPlatformTag 平台标签
 * @param {String} siPersonalTag 个人标签 |分开
 * @param {String} siAcademy 学院
 * @param {String} siOrientation 方向
 * @param {String} siAccessibleTime 可约时间
 * @param {String} siSelfIntro 自我介绍
 * @param {String} siType 可咨询类型 1 2 3
 * @param {String} siPhone 手机号
 * @param {Number} siUnitPrice 咨询费用
 * @param {Number} siConsultedNum 咨询人数
 * @param {Number} siGrade 评分
 * @param {Boolean} priority 是否置顶
 * @param {Boolean} show 是否展示
 */
export const createConsultUser = (data) => POST(`/seniorManagement/saveSeniorInfo`, data)

/**
 * 修改学长学姐信息
 */
export const updateConsultUser = (data) => PUT(`seniorManagement/updateSeniorInfo`, data)

/**
 * 获取学长学姐详细信息
 * @param {Number} id
 */
export const getConsultUser = (id) => GET(`/seniorInfo/getSeniorInfoBySiId`, { siId: id })

/**
 * 删除学长学姐
 * @param {Number} id
 */
export const removeConsultUser = (id) => DELETE(`seniorManagement/deleteSeniorInfo?siId=${ id }`)

/**
 * 获取学长学姐列表
 * @param {Number} pageNum
 * @param {Number} pageSize
 * @param {Number} sortCode newSenior 按userId排序
 */
export const getConsultUsers = (params) => GET(`/seniorManagement/getAllSeniorInfo`, { ...params, sortCode: 'newSenior' })

/**
 * 获取学长学姐可咨询时间
 * @param {Number} siId 学长学姐id
 */
export const getLeisureTime = (siId) => GET(`/seniorConsult/getSeniorConsultTime/${ siId }`)

/**
 * 获取学长学姐已约时间
 * @param {Number} siId 学长学姐id
 */
export const getAlreadyAppointedTime = (siId) => GET(`/seniorManagement/getAlreadyAppointedTime/${ siId }`)

/**
 * 创建学长学姐可咨询时间
 * @param {Number} userId
 * @param {Object[]} {sctWeekDay: 周几, sctStartTime: 时间段}
 */
export const postConsultTime = ({ siId, time }) => POST(`seniorManagement/addSeniorConsultTime?siId=${ siId }`, time)

/**
 * 更新学长学姐可咨询时间
 * @param {Number} siId
 * @param {Object[]} {sctWeekDay: 周几, sctStartTime: 时间段}
 */
export const putConsultTime = ({ siId, time }) => PUT(`seniorManagement/modifySeniorConsultTime?siId=${ siId }`, time)
